home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / c64-preservation-project / apps / cmd_hd_utilities[cmd_19xx](v1_92).nbz / 1541sub (.txt) < prev    next >
Encoding:
Commodore BASIC  |  2019-04-13  |  2.1 KB  |  109 lines

  1. 0 REM CREATE 1541 PSEUDO SUBDIRECTORY
  2. 1 REM D. COTTON - M. FELLOWS
  3. 4 :
  4. 5 :REM INPUT DEVICE NO & PART NO
  5. 6 :
  6. 10 PRINT"[147]1541SUB - NATIVE MODE SUBDIR. UTILITY"
  7. 11 PRINT"WARNING!! THIS UTILITY SHOULD ONLY BE"
  8. 12 PRINT"USED ON AN EMPTY NATIVE MODE PARTITION"
  9. 13 PRINT"WHICH HAS BEEN CREATED WITH AT LEAST"
  10. 14 PRINT"18 TRACKS (4608 BLOCKS)."
  11. 15 PRINT"ALL DATA WITHIN THIS PARTITION WILL"
  12. 16 PRINT"BE DESTROYED IF YOU CONTINUE."
  13. 17 PRINT"CONTINUE (Y/N)?"
  14. 18 GETK$:IFK$=""THEN18
  15. 19 IFK$<>"Y"ANDK$<>"[217]"THENEND
  16. 20 INPUT"HD DEVICE NUMBER ";DV
  17. 21 IFDV<8ORDV>29THENDV=0:GOTO20
  18. 25 :
  19. 30 INPUT"PARTITION TO USE ";PN
  20. 31 IFPN<1ORPN>254THENPN=0:GOTO30
  21. 35 :
  22. 40 INPUT"SUBDIRECTORY NAME";SD$
  23. 41 IFSD$=""THENGOTO40
  24. 42 IFLEN(SD$)>16THENSD$="":GOTO40
  25. 45 :
  26. 50 TS=18
  27. 51 :FORI=1TO16
  28. 52 ::BL$=BL$+CHR$(160)
  29. 53 :NEXT
  30. 55 :
  31. 60 SD$=LEFT$(SD$+BL$,16)
  32. 65 :
  33. 70 :FORI=1TO254
  34. 71 ::ZS$=ZS$+CHR$(0)
  35. 72 :NEXT
  36. 94 :
  37. 95 :REM MOVE TO PARTITION
  38. 96 :
  39. 100 OPEN15,DV,15
  40. 110 PRINT#15,"C[208]";CHR$(PN)
  41. 112 INPUT#15,ZR:IFZR<>2THENPRINT"UNABLE TO SELECT PARTITION":CLOSE15:END
  42. 113 :
  43. 114 :REM MAKE SURE IT'S NATIVE
  44. 115 :
  45. 120 PRINT#15,"G-P"
  46. 130 GET#15,PT$
  47. 140 PT=ASC(PT$+CHR$(0))
  48. 150 IFPT<>1THENPRINT"NOT A NATIVE MODE PARTITION":CLOSE15:END
  49. 154 :
  50. 155 :REM MAKE SURE ENOUGH TRACKS EXIST
  51. 156 :
  52. 160 OPEN2,DV,2,"#"
  53. 170 PRINT#15,"U1";2;0;1;2
  54. 180 :FORI=0TO8
  55. 190 ::GET#2,B$
  56. 200 :NEXT
  57. 210 HT=ASC(B$+CHR$(0))
  58. 220 IFHT<TSTHENPRINT"NOT ENOUGH TRACKS IN THE PARTITION":CLOSE2:CLOSE15:END
  59. 222 :
  60. 223 CLOSE2
  61. 224 :
  62. 225 :REM NEW PARTITION
  63. 226 :
  64. 230 PRINT#15,"N0:";SD$;",HD"
  65. 234 :
  66. 235 OPEN2,DV,2,"#"
  67. 236 :
  68. 294 :
  69. 295 :REM SET LINKS AND ALLOCATE BLOCKS
  70. 296 :
  71. 300 TL=TS
  72. 305 :FORSE=1TO17
  73. 306 ::SL=SE+1
  74. 310 ::PRINT#15,"B-P";2;0
  75. 312 ::PRINT#2,CHR$(TL);CHR$(SL);ZS$;
  76. 314 ::PRINT#15,"U2";2;0;TS;SE
  77. 316 ::PRINT#15,"B-A";0;TS;SE
  78. 318 :NEXT
  79. 340 TL=0:SL=255:SE=18
  80. 350 :PRINT#15,"B-P";2;0
  81. 352 :PRINT#2,CHR$(TL);CHR$(SL);ZS$;
  82. 354 :PRINT#15,"U2";2;0;TS;SE
  83. 356 :PRINT#15,"B-A";0;TS;SE
  84. 374 :
  85. 375 :REM CREATE ROOT DIR ENTRY
  86. 376 :
  87. 380 PRINT#15,"B-P";2;0
  88. 382 PRINT#2,CHR$(0);CHR$(255);CHR$(134);CHR$(18);CHR$(0);
  89. 383 PRINT#2,SD$;CHR$(0);CHR$(0);CHR$(0);CHR$(0);
  90. 384 PRINT#2,CHR$(57);CHR$(7);CHR$(8);CHR$(0);CHR$(3);CHR$(18);CHR$(0);
  91. 390 PRINT#2,RIGHT$(ZS$,224);
  92. 400 PRINT#15,"U2";2;0;1;34
  93. 404 :
  94. 405 :REM WRITE SUB HEADER
  95. 406 :
  96. 410 PRINT#15,"B-P";2;0
  97. 412 PRINT#2,CHR$(18);CHR$(1);CHR$(72);CHR$(0);SD$;
  98. 413 PRINT#2,CHR$(160);CHR$(160);CHR$(72);CHR$(68);CHR$(160);
  99. 414 PRINT#2,CHR$(49);CHR$(72);CHR$(160);CHR$(160);CHR$(0);CHR$(0);CHR$(0);
  100. 416 PRINT#2,CHR$(18);CHR$(0);CHR$(1);CHR$(1);CHR$(1);CHR$(34);CHR$(34);CHR$(0);
  101. 420 PRINT#2,RIGHT$(ZS$,216);
  102. 422 PRINT#15,"U2";2;0;18;0
  103. 424 PRINT#15,"B-A";0;18;0
  104. 450 :
  105. 460 CLOSE2
  106. 470 PRINT#15,"V"
  107. 480 :
  108. 999 CLOSE15:END
  109.